Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Перетворення типів даних

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Структури даних та алгоритми

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 2 на тему: "Перетворення типів даних" з дисципліни: " Програмування. Частина III. Структури даних та алгоритми " Вибір індивідуального завдання: RN = 1994 MN = 8 % 8 = 0 DN = 23 mn = 23 dn = 00 Pr1 = №(C) = 70 рr2 = №(h) = 114 рr3 = №(a) =101 Львів – 2013 Мета роботи: Дослідження методів та засобів явногоі неявного перетворення типів даних. Постановка задачі: Обчислити вирази та визначити, які неявні та явні перетворення типів будуть відбуватись. Хід міркувань підтвердити програмними результатами. Далі використовувати такі позначення: RN- число, що відповідає року народження, MN- число, що відповідає місяцю народження% 8, DN - число, що відповідає дню народження, mn і dn– ті ж самі значення, що й MNі DN відповідно, записані у вигляді двох цифр, Pr1 – ASCII-код першої літери прізвища (латинська велика літера), pr2 – ASCII-код другої літери прізвища (латинська мала літера), pr3 – ASCII-код третьої літери прізвища (латинська мала літера). Система тестів: •Неявні перетворення типів даних x1 = x0 + x2 + x4+0Х123; а) float x0 = 0х1994 – 10 0х1994 ВПК = 94 19 00 00 199416 = -10810 (1 байт) б) unsigned short x2 = 00 ВПК = 00 00 00 00 в)bool x4 = 23% 3 * 10 23 % 3 * 10 =1 г) 0х123 12316 = 29110 х1 = -107 – 10 + 2 +1 +291 = 174 Результат: 174 x2 = x2 + x3 - 0123; а) unsigned short x2 = 00 ВПК = 00 00 б) short x3 = 70 – 110 ВПК = D8 FF(преведено за допомогою програми, розробленої в лаб. роб. №1) D8 FF16 = 55551 в) 01238 = 8310 3) x3 = x1+x2 * 0.123 + ’1’; а) х1 ВПК = СС СС(преведено за допомогою програми, розробленої в лаб. роб. №1) СС СС16 = -1310810 б) unsigned short x2 = 00 ВПК = 00 00 00 00 0*0,123 = 0 в) ‘1’ – у таблиці ASCII це код 49 ВПК = 31 00(преведено за допомогою програми, розробленої в лаб. роб. №1) 31 0016 = 1254410 • Явні перетворення типів даних 1) floatv1 = static_cast<float> (x); х = 23*0*100 = 0 2) char v2 = static_cast<char> (x); х = 23*0*100 = 0 Оскільки char займає 1 байт, то х = 63, а в таблиці ASCII це “?” 3) float v3 =*reinterpret_cast<float*> (&x)+1; х = 23*2*100 = 0 Оскільки char займає 1 байт, то 00 + 1 = 1 4) char v4 =*(reinterpret_cast<char*> (&x)+2)+3; х = 23*0*100 = 0 Оскільки char займає 1 байт, то 00 + 3= 3. В таблиці ASCII це “♥” 5) int w1 =static_cast<int>(y)+0X0E2; у = 0 0х0E2 = 226 w1 = 0 + 226= 226 6) long w2 =*reinterpret_cast<long*>(&y)+1; у = 0 ВПК = 00 00 00 00 00 00 00 00. Оскільки long– 4 байти і перші 4 байти = 0, то 0 + 1 = 1 7) short w3 =*(reinterpret_cast<short*>(&y)+2); ВПК = 00 00 00 00 00 00 00 00. Short – 2 байти 00 00 = 0 8) char w4 =*(reinterpret_cast<char*>(&y)+7)+3; ВПК = 00 00 00 00 00 00 00 00. Сhar – 1 байт Оскільки char займає 1 байт, то 00 + 3= 3. В таблиці ASCII це “♥” Алгоритм розв’язання задачі: #include<iostream> #include<cmath> using namespace std; int main(void) { setlocale(0,"rus"); cout<<"Неявне перетворення типiв даних:\n"; char x0=0x1994-10;//Rn=1994 float x1; unsigned short x2=00;//MN=0 short x3=70-110;//Pr1=70 bool x4=23%3*10;//DN=23 cout<<"x0: "<<x0<<endl; cout<<"x2: "<<x2<<endl; cout<<"x3: "<<x3<<endl; cout<<"x4: "<<x4<<endl; x1=x0+x2+x4+0X123; x2=x2+x3-0123; x3=x1+x2*0.123+'1'; cout<<"x1: "<<x1<<endl; cout<<"x2: "<<x2<<endl; cout<<"x3: "<<x3<<endl; cout<<"Явне перетворення типiв даних:\n"; const int x_0=23*0*100; const int x_1=023000; const int x_2=0x2300; const int x_3=000230; const int x_4=0x0023; const double y_0=23*0/100; const double y_1=-23.0; const double y_2=0.23e+2; const double y_3=-23.0e1; const double y_4=-0.23e-1; int x=x_3; double y=y_0; float v1 = static_cast< float > (x); char v2 = static_cast<char> (x); float v3 =*reinterpret_cast<float*> (&x)+1; char v4 =*(reinterpret_cast<char*> (&x)+2)+3; cout<<"v1= "<<v1<<en...
Антиботан аватар за замовчуванням

23.12.2013 22:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини